SPI协议之擦除flash芯片数据

您所在的位置:网站首页 flash 结束 SPI协议之擦除flash芯片数据

SPI协议之擦除flash芯片数据

2023-12-30 02:13| 来源: 网络整理| 查看: 265

SPI协议是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输。一主多从spi设备图如下:

各信号线解释如下:SCK (Serial Clock):时钟信号线,用于同步通讯数据。由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不同,两个设备之间通讯时,通讯速率受限于 低速设备(这里产生的sck时钟频率为12.5MHz)。MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。主机的数据从 这条信号线输出,从机由这条信号线读入主机发送的数据,数据方向由主机到从机。MISO (Master Input,Slave Output):主设备输入/从设备输出引脚。主机从这条信号 线读入数据,从机的数据由这条信号线输出到主机,数据方向由从机到主机。CS (Chip Select):片选信号线,也称为 CS_N,以下用 CS_N 表示。当有多个 SPI 从 设备与 SPI 主机相连时,设备的其它信号线 SCK、MOSI 及 MISO 同时并联到相同的 SPI 总线上,即无论有多少个从设备,都共同使用这 3 条总线;而每个从设备都有独立的这一 条 CS_N 信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。

I2C 协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通讯;而 SPI 协议中没有设备地址,它使用 CS_N 信号线来寻址,当主机要选择从设备时,把该从设备 的 CS_N 信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中 的从设备进行 SPI 通讯。所以 SPI 通讯以 CS_N 线置低电平为开始信号,以 CS_N 线被拉 高作为结束信号。

SPI 通讯协议的 4 种模式如下,通讯模式时序图,具体见图 46-3。 模式 0:CPOL= 0,CPHA=0。空闲状态时 SCK 串行时钟为低电平;数据采样在 SCK 时钟的奇数边沿,本模式中,奇数边沿为上升沿;数据更新在 SCK 时钟的偶数边沿,本模 式中,偶数边沿为下降沿。 模式 1:CPOL= 0,CPHA=1。空闲状态时 SCK 串行时钟为低电平;数据采样在 SCK 时钟的偶数边沿,本模式中,偶数边沿为下降沿;数据更新在 SCK 时钟的奇数边沿,本模 式中,偶数边沿为上升沿。 模式 2:CPOL= 1,CPHA=0。空闲状态时 SCK 串行时钟为高电平;数据采样在 SCK 时钟的奇数边沿,本模式中,奇数边沿为下降沿;数据更新在 SCK 时钟的偶数边沿,本模 式中,偶数边沿为上升沿。 模式 3:CPOL= 1,CPHA=1。空闲状态时 SCK 串行时钟为高电平;数据采样在 SCK 时钟的偶数边沿,本模式中,偶数边沿为上升沿;数据更新在 SCK 时钟的奇数边沿,本模 式中,偶数边沿为下降沿。

全擦除(BE)指令写入前必须先对 Flash 芯片写入写使能 (WREN)指令,使芯片处于写使能锁存(WEL)状态。此状态下写入全擦除指令才会被 Flash 芯片响应,否则,全擦除指令无效。写使能(Write Enable)指令,简称 WREN,操作指令为 8’b0000_0110(06h)。全擦除(Bulk Erase)操作,简称 BE,操作指令为 8’b1100_0111(C7h),全擦除指令是将 Flash 芯片中的所有存储单元设 置为全 1。在指令写入前后,需要满足一定的建立与保持时间,具体如下:

主要代码如下:

module flash_ctrl ( input wire sys_clk , //50MHz input wire sys_rst_n, input wire key , //按键输入 output reg cs_n, //片选信号 output reg sck , //串行时钟输出 output reg mosi //主输出从输入数据 ); reg key_flag; //计数器--cnt_1 产生4分频时钟 reg [1:0] cnt_1 ; //计数器位宽 wire add_cnt_1 ; //计数器开始条件 wire end_cnt_1 ; //计数器结束条件 parameter MAX_1 = 'd4 ; //计数的最大值 always@(posedge sys_clk or negedge sys_rst_n)begin if(!sys_rst_n)begin cnt_1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3